
import java.util.Scanner;

/**
 *4. 编程题
 */
public class ArrayCopyTest{


    public static void main(String[] args ){

        int j = 0;
        int[] arr = new int[10];

        System.out.println("数组A初始化：");
        for(int i=0;i<arr.length;i++){
            System.out.print("\t"+arr[i]);
        }
        System.out.println();
        System.out.println("请输入数字：输入非数字中断输入");
        Scanner sc = new Scanner(System.in);
        String str ="";
        boolean flag = true;
        while(flag){
            if(sc.hasNextLine()){
                str = sc.nextLine();
                //字符不为空，并且字符不为空字符串
                if (str != null && !str.trim().equals("")) {
                    for(int i =0;i< str.length();i++){
                        int chr = str.charAt(i);
                        if(chr < 48||chr > 57){
                            System.out.println("输入中断！");
                            flag = false;
                            break;
                        }
                    }
                }
                //为数字，则进行赋值
                if (flag && !str.trim().equals("")) {
                    arr[j] = Integer.parseInt(str);
                    j++;
                }

                //判断是否达到总容量的80%,如果达到进行数组copy
                if ((j*1.0/ arr.length)>0.8) {
                    arr = ArrayCopy(arr);
                }

            }
        }

        System.out.println("----------------------------------------");
        System.out.print("数组A：");
        for(int i=0;i<arr.length;i++){
            System.out.print("\t"+arr[i]);
        }
    }


    //数组拷贝
    public static int[] ArrayCopy(int[] arr){

        int bLength = (int)(arr.length*1.5);
        int[] brr = new int[bLength] ;//声明新数组

        for(int j=0;j<arr.length;j++){
            brr[j] = arr[j];
        }
        return brr;
    }

}